Self-accounting as Principle for Portable CPU Control in Java
نویسندگان
چکیده
In this paper we present a novel scheme for portable CPU accounting and control in Java, which is based on program transformation techniques and can be used with every standard Java Virtual Machine. In our approach applications, libraries, and the Java Development Kit are modified in order to expose details regarding the execution of threads. Each thread accounts for the number of executed bytecode instructions and periodically the threads of an application component aggregate the information of their respective CPU consumption within a shared account and invoke scheduling functions that are able to prevent applications from exceeding their allowed CPU quota.
منابع مشابه
Program transformations for light-weight CPU accounting and control in the Java virtual machine A systematic review
This article constitutes a thorough presentation of an original scheme for portable CPU accounting and control in Java, which is based on program transformation techniques at the bytecode level and can be used with every standard Java Virtual Machine. In our approach applications, middleware, and even the standard Java runtime libraries (i.e., the Java Development Kit) are modified in a fully p...
متن کاملUsing Bytecode Instruction Counting as Portable CPU Consumption Metric
Accounting for the CPU consumption of applications is crucial for software development to detect and remove performance bottlenecks (profiling) and to evaluate the performance of algorithms (benchmarking). Moreover, extensible middleware may exploit resource consumption information in order to detect a resource overuse of client components (detection of denial-of-service attacks) or to charge c...
متن کاملGraphical Monitoring of CPU Resource Consumption in a Java-based Framework
Monitoring of CPU consumption is a very basic requirement in many areas of software. It is especially valuable in the frame of Internet applications, in support of specific aspects such as security, reliability, and adaptability. This paper is set in the context of J-RAF2, a Javabased framework exploiting bytecode rewriting techniques in order to guarantee the portability of CPU-managed applica...
متن کاملPortable Resource Control in Java
Preventing abusive resource consumption is indispensable for all kinds of systems that execute untrusted mobile code, such as mobile object systems, extensible web servers, and web browsers. To implement the required defense mechanisms, some support for resource control must be available: accounting and limiting the usage of physical resources like CPU and memory, and of logical resources like ...
متن کاملPortable Resource Control in Java: Application to Mobile Agent Security
Prevention of denial-of-service attacks is indispensable for distributed agent systems to execute securely. To implement the required defense mechanisms, it is necessary to have support for resource control, i.e., accounting and limiting the consumption of resources like CPU, memory, and threads. Java is the predominant implementation language for mobile agent systems, even though resource cont...
متن کامل